import request from "@/sheep/request";

/**
 * 点餐模块API接口
 */
export default {
    /**
     * 获取城市列表
     */
    getCityList: () => {
        return request({
            url: '/h5/catering/cities',
            method: 'GET',
            custom: {
                showLoading: false,
                showError: false,
            }
        });
    },

    /**
     * 获取门店列表
     * @param {Object} params - 查询参数
     * @param {String} params.cityId - 城市ID
     * @param {String} params.lat - 纬度
     * @param {String} params.lon - 经度
     * @param {Number} params.ot - 品牌类型 1:KFC 2:麦当劳 4:星巴克
     */
    getStoreList: (params) => {
        return request({
            url: '/h5/catering/stores',
            method: 'GET',
            params,
            custom: {
                showLoading: false,
                showError: false,
            }
        });
    },

    /**
     * 获取门店详情
     * @param {String} storeId - 门店ID
     * @param {Object} params - 查询参数
     * @param {String} params.lat - 纬度
     * @param {String} params.lon - 经度
     */
    getStoreDetail: (storeId, params = {}) => {
        return request({
            url: `/h5/catering/store/${storeId}`,
            method: 'GET',
            params,
            custom: {
                showLoading: false,
                showError: false,
            }
        });
    },

    /**
     * 获取菜单
     * @param {String} storeId - 门店ID
     * @param {Object} params - 查询参数
     * @param {Number} params.ot - 品牌类型（可选）
     */
    getMenu: (storeId, params = {}) => {
        return request({
            url: `/h5/catering/menu/${storeId}`,
            method: 'GET',
            params,
            custom: {
                showLoading: false,
                showError: false,
            }
        });
    },

    /**
     * 获取商品详情（规格）
     * @param {String} productId - 商品ID（必填）
     * @param {String} shopId - 门店ID（可选）
     */
    getProductDetail: (productId, shopId) => {
        return request({
            url: `/h5/catering/product/${productId}`,
            method: 'GET',
            params: {shopId },
            custom: {
                showLoading: false,
                showError: false,
            }
        });
    },

    /**
     * 创建订单
     * @param {Object} data - 订单数据
     * @param {String} data.shopId - 门店ID
     * @param {String} data.phone - 联系电话
     * @param {Number} data.eatType - 用餐方式 0:堂食 1:打包 2:外卖
     * @param {Array} data.products - 商品列表
     */
    createOrder: (data) => {
        return request({
            url: '/h5/catering/kfc/createOrder',
            method: 'POST',
            data,
            custom: {
                showLoading: true,
                showError: true,
            }
        });
    },

    /**
     * 获取订单详情
     * @param {String} orderId - 订单ID
     */
    getOrderDetail: (orderId) => {
        return request({
            url: '/h5/catering/kfc/orderDetail',
            method: 'GET',
            params: { orderId },
            custom: {
                showLoading: false,
                showError: false,
            }
        });
    },

    /**
     * 获取订单列表
     * @param {Object} params - 查询参数
     */
    getOrderList: (params) => {
        return request({
            url: '/h5/catering/kfc/orderList',
            method: 'POST',
            data: params,
            custom: {
                showLoading: false,
                showError: false,
            }
        });
    },

    /**
     * 获取首页展示的餐厅列表
     * 用于首页"到店点餐"模块
     */
    getHomeRestaurantList: () => {
        return request({
            url: '/h5/catering/home/restaurants',
            method: 'GET',
            custom: {
                showLoading: false,
                showError: false,
            }
        });
    }
};
